#Logistic模型

import numpy as np
import matplotlib.pyplot as plt
from scipy.integrate import odeint

# 设置中文字体
plt.rcParams['font.sans-serif'] = ['SimHei']  # 使用 SimHei 字体
plt.rcParams['axes.unicode_minus'] = False  # 解决负号显示问题

# Logistic模型的微分方程
def logistic_growth(N, t, r, K):
    dNdt = r * N * (1 - N / K)
    return dNdt

# 初始种群数量
N0 = 10

# 时间点
t = np.linspace(0, 50, 400)

# 参数
r = 0.1  # 本征增长率
K = 100  # 环境承载能力

# 求解微分方程
solution = odeint(logistic_growth, N0, t, args=(r, K))

# 绘制结果
plt.figure(figsize=(10, 5))
plt.plot(t, solution, label='种群数量')
plt.xlabel('时间')
plt.ylabel('种群数量')
plt.title('Logistic增长模型')
plt.legend()
plt.show()